home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / boot / netBoot.OpenProm / RCS / boot.h,v < prev    next >
Text File  |  1991-01-13  |  3KB  |  165 lines

  1. head     1.3;
  2. branch   ;
  3. access   ;
  4. symbols  ;
  5. locks    ; strict;
  6. comment  @ * @;
  7.  
  8.  
  9. 1.3
  10. date     91.01.13.02.35.53;  author dlong;  state Exp;
  11. branches ;
  12. next     1.2;
  13.  
  14. 1.2
  15. date     89.06.16.08.30.31;  author brent;  state Exp;
  16. branches ;
  17. next     1.1;
  18.  
  19. 1.1
  20. date     89.06.02.11.10.59;  author brent;  state Exp;
  21. branches ;
  22. next     ;
  23.  
  24.  
  25. desc
  26. @Header file for sprite tftp boot program
  27. @
  28.  
  29.  
  30. 1.3
  31. log
  32. @define more macros for sending and receiving packets,
  33. getting things from PROM data structures, etc.
  34. @
  35. text
  36. @/*-
  37.  * boot.h --
  38.  *     Header file for sprite tftp boot program
  39.  *
  40.  * Copyright (c) 1987 by the Regents of the University of California
  41.  *
  42.  * Permission to use, copy, modify, and distribute this
  43.  * software and its documentation for any purpose and without
  44.  * fee is hereby granted, provided that the above copyright
  45.  * notice appear in all copies.  The University of California
  46.  * makes no representations about the suitability of this
  47.  * software for any purpose.  It is provided "as is" without
  48.  * express or implied warranty.
  49.  *
  50.  *    "$Header: /sprite/src/boot/netBoot.OpenProm/RCS/boot.h,v 1.2 89/06/16 08:30:31 brent Exp Locker: dlong $ SPRITE (Berkeley)"
  51.  */
  52. #ifndef _BOOT_H
  53. #define _BOOT_H
  54.  
  55. #include <sprite.h>
  56. #include <sys/types.h>
  57. #include <netEther.h>
  58. #ifndef OPENPROMS
  59. #define OPENPROMS
  60. #endif
  61. #include "sunromvec.h"
  62.  
  63. extern struct sunromvec    *romp;
  64. #define romVectorPtr    romp
  65.  
  66. #define printf              (*romp->v_printf)
  67. #define millitime()        (*romp->v_nmiclock)
  68.  
  69. #if defined(sun4)
  70.  
  71. #define inet_cmp(x, y)        (bcmp(&(x), &(y), 4) == 0)
  72. #define inet_copy(x, y)        bcopy(&(y), &(x), 4)
  73.  
  74. #else
  75.  
  76. #define inet_cmp(x, y)        ((x) == (y))
  77. #define inet_copy(x, y)        ((x) = (y))
  78.  
  79. #endif
  80.  
  81. extern char *BootDevName();
  82. extern char *BootFileName();
  83. extern void PrintBootCommand();
  84.  
  85. #if defined(sun4c)
  86.  
  87. #define ExitToMon()        (*romp->v_exit_to_mon)();
  88. #define CheckRomMagic()        (ROMVEC_MAGIC == RomMagic)
  89. #define RomVersion        (romp->v_romvec_version)
  90. #define RomMagic        (romp->v_magic)
  91.  
  92. #define DevOpen(dev) \
  93.     (RomVersion >= 2 \
  94.     ? (*romp->op_open)(dev) \
  95.     : (*romp->v_open)(dev))
  96.  
  97. #define DevClose(fileId) \
  98.     (RomVersion >= 2 \
  99.     ? (*romp->op_close)(fileId) \
  100.     : (*romp->v_close)(fileId))
  101.  
  102. #define xmit_packet(fileId, buf, len) \
  103.     (RomVersion >= 2 \
  104.     ? (*romp->op_write)(fileId, buf, len) \
  105.     : (*romp->v_xmit_packet)(fileId, len, buf))
  106.  
  107. #define poll_packet(fileId, buf) \
  108.     (RomVersion >= 2 \
  109.     ? (*romp->op_read)(fileId, buf, NET_ETHER_MAX_BYTES) \
  110.     : (*romp->v_poll_packet)(fileId, NET_ETHER_MAX_BYTES, buf))
  111.  
  112. #define reset(fileId)    /* don't know how to reset */
  113.  
  114. #else  /* sun4c */
  115.  
  116. #include "saio.h"
  117. typedef struct saioreq SIP;
  118.  
  119. #define xmit_packet(fileId, buf, len) \
  120.     (*(SIP *)(fileId)->si_sif->sif_xmit)((SIP *)(fileId)->si_devdata, buf, len)
  121. #define poll_packet(fileId, buf)
  122.     (*(SIP *)(fileId)->si_sif->sif_poll)((SIP *)(fileId)->si_devdata, buf)
  123. #define reset(fileId)
  124.     (*(SIP *)(fileId)->si_sif->sif_reset)((SIP *)(fileId)->si_devdata)
  125.  
  126. #endif /* sun4c */
  127.  
  128. #endif /* _BOOT_H */
  129. @
  130.  
  131.  
  132. 1.2
  133. log
  134. @Added machparam.h
  135. @
  136. text
  137. @d15 1
  138. a15 1
  139.  *    "$Header$ SPRITE (Berkeley)"
  140. d20 7
  141. a26 1
  142. #include <machparam.h>
  143. d28 2
  144. a29 3
  145. #ifndef ASM
  146. #include    "sunromvec.h"
  147. #endif /* ASM */
  148. d31 2
  149. a32 1
  150. #define BOOT_START        (BOOT_CODE-KERNEL_START)
  151. d34 58
  152. a91 2
  153. #define printf      (*romp->v_printf)
  154. #define printhex  (*romp->v_printhex)
  155. @
  156.  
  157.  
  158. 1.1
  159. log
  160. @Initial revision
  161. @
  162. text
  163. @d19 2
  164. @
  165.